java_Java用Cookie限制点赞次数(简版),本文简单利用Cookie技术来简单
好了,不啰嗦了,先来看看基础知识:
ajax+springMVC+cookie
中间框架你随意,楼主这里用了springMVC,只要取得HttpServletRequest和HttpServletResponse你就可以操作cookie啦
什么是Cookie
cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。
第2篇阅读中提到了cookie存放在http的request中,这为我们在java中操作cookie提供了可能
cookie主要用途编辑
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
基本了解了Cookie,我们来看看java怎么操作cookie
建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下:
HttpServletRequest request HttpServletResponse response Cookie cookie = new Cookie("cookiename","cookievalue"); response.addCookie(cookie);
建立一个有生命周期的cookie,可以设置他的生命周期
cookie = new Cookie("cookiename","cookievalue"); //此方法接收一个以秒为单位的整数,该整数表示cookie的最大生存期。负值表示当关闭浏览器时,该cookie将被清除,表示必须立即清除该cookie。 cookie.setMaxAge(); //设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问 cookie.setPath("https://www.xp.cn/"); response.addCookie(cookie);
读取cookie,读取cookie代码如下
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组 for(Cookie cookie : cookies){ cookie.getName();// get the cookie name cookie.getValue(); // get the cookie value }
springMVC具体限制操作
/** * 点赞操作 * * @param comment * @param request * @param response * @return */ @RequestMapping(value = TalkingConst.PATH_LOVE, method = RequestMethod.POST) public @ResponseBody Map<String, Object> love(Comment comment, HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); // 根据cookie的name取的cookie getCookieByName()方法可以参考代码块上的链接处的封装 Cookie cookie = getCookieByName(request, comment.getCommentId() + ""); // 判断cookie是否为空 if (cookie != null) { // cookie不为空,提示已经赞过 // 前台传值 map.put(TalkingConst.ATTRIBUTE_MSG, "您已赞过,请休息一下~"); map.put(TalkingConst.ATTRIBUTE_NAME_RESULT, Boolean.FALSE); } else { // 数据库操作,点赞个数加 commentService.love(comment); // 创建cookie addCookie()方法可以参考代码块上的链接处的封装 addCookie(response, comment.getCommentId() + "", "", ); map.put(TalkingConst.ATTRIBUTE_NAME_RESULT, Boolean.TRUE); } return map; }
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/java/10182.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
Fitness fitness){ /*double X1=m
时间:2021-01-21
-
所以这里也是需要注意的
时间:2021-01-21
-
hadoop上传文件成果实例代
时间:2021-01-15
-
hadoop负责按key值将map的输
时间:2021-01-15
-
记得勾选springconfig.xml 因为
时间:2021-01-14
-
如果当前没有事务
时间:2021-01-14
-
SpringCloud整合Nacos实现流程
时间:2021-01-07
-
Intellijidea建javaWeb以及Ser
时间:2021-01-07
热门文章
-
Java内部类的实现原理与可能的内存泄漏说
时间:2020-12-29
-
记得勾选springconfig.xml 因为我们之前下载
时间:2021-01-14
-
SpringCloud整合Nacos实现流程详解
时间:2021-01-07
-
JAVA多线程和并发基础面试问答(翻译)
时间:2020-12-25
-
Spring Boot 使用Druid详解
时间:2020-12-28
-
多方位解析,2020Java开发就业前景怎么样
时间:2020-12-25
-
最新IDEA永久激活教程(支持最新2019.2版本
时间:2020-12-25
-
Fitness fitness){ /*double X1=min+0.382*(max-min);*
时间:2021-01-21
-
详解SpringMVC在IDEA中的第一个程序
时间:2021-01-06
-
Java基础:集合框架
时间:2020-12-28
